package com.ruoyi.miaomiao.mapper;

import java.util.List;
import com.ruoyi.miaomiao.domain.Address;
import org.apache.ibatis.annotations.Param;

/**
 * 用户地址Mapper接口
 * 
 * @author ruoyi
 * @date 2022-07-29
 */
public interface AddressMapper 
{
    /**
     * 查询用户地址
     * 
     * @param addressId 用户地址主键
     * @return 用户地址
     */
    public Address selectAddressByAddressId(Long addressId);
    public Address selectAddressByAddressAndUserId(@Param("userId") Long userId, @Param("addressId") Long addressId);

    /**
     * 查询用户地址列表
     * 
     * @param address 用户地址
     * @return 用户地址集合
     */
    public List<Address> selectAddressList(Address address);

    /**
     * 新增用户地址
     * 
     * @param address 用户地址
     * @return 结果
     */
    public int insertAddress(Address address);

    /**
     * 修改用户地址
     * 
     * @param address 用户地址
     * @return 结果
     */
    public int updateAddress(Address address);

    /**
     * 删除用户地址
     * 
     * @param addressId 用户地址主键
     * @return 结果
     */
    public int deleteAddressByAddressId(Long addressId);

    /**
     * 批量删除用户地址
     * 
     * @param addressIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAddressByAddressIds(Long[] addressIds);
    public int deleteAddressByAddressAndUserId(@Param("userId") Long userId, @Param("addressIds") Long[] addressIds);

    /**
     * 查询用户地址
     *
     * @param userId 用户id
     * @return 用户地址
     */
    public List<Address> selectAddressByUserId(Long userId);
}
